//
// This module declares interfaces to exclusivity functions.
//
#pragma once


////////////////////////////////////////////////////////////////////////////////
//
// macro utilities
//


////////////////////////////////////////////////////////////////////////////////
//
// constants and macros
//


////////////////////////////////////////////////////////////////////////////////
//
// types
//


////////////////////////////////////////////////////////////////////////////////
//
// prototypes
//

_IRQL_raises_(DISPATCH_LEVEL) EXTERN_C
void *ExclGainExclusivity();

_IRQL_requires_(DISPATCH_LEVEL) EXTERN_C
void ExclReleaseExclusivity(
    _In_opt_ void *Exclusivity);


////////////////////////////////////////////////////////////////////////////////
//
// variables
//


////////////////////////////////////////////////////////////////////////////////
//
// implementations
//
